package Week3.J0429;

import java.util.Scanner;

public class 重排字符串_xv {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        char[] arr = scanner.next().toCharArray();
        int[] hash = new int[26];
        char maxChar = '0';
        int maxCount = 0;

        // 查找最多字母
        for (int i = 0; i < n; i++) {
            char ch = arr[i];

            if (++hash[ch - 'a'] > maxCount) {
                maxChar = ch;
                maxCount = hash[ch - 'a'];
            }
        }

        if (maxCount > (n + 1) / 2) {
            System.out.println("No");
            return;
        }else {
            System.out.println("Yes");
            
            //  排序最多字母
            char[] ret = new char[n];
            int i = 0;
            while (maxCount-- > 0) {
                ret[i] = maxChar;
                i += 2;
            }

            // 排序剩下字母
            for (int j = 0; j < 26; j++) {
                if (hash[j] != 0 && (char)(j + 'a') != maxChar) {
                    while (hash[j]-- != 0) {
                        if (i >= n) {
                            i = 1;
                        }
                        ret[i] = (char)(j + 'a');
                        i += 2;
                    }
                }
            }
            for (int j = 0; j < n; j++) {
                System.out.print(ret[j]);
            }
        }
    }
}
